//////////////////////////////////////////////////////////////////////////////////
//
// 兼容旧版
//
////////////////////////////////////


var option_bar_line = {
    color: ['#4cabce', '#7755aa', '#e5624e'],
    tooltip: { trigger: 'axis', axisPointer: { type: 'shadow' }},
    legend: {
        left: 'right',
        data: []
    },
    calculable: true,
    xAxis: [{
            type: 'category',
            axisTick: {show: false},
            axisLabel: {rotate: 20,},
            data: []
    }],
    yAxis: [ {type: 'value'}, {type: 'value'}],
    dataZoom: [{type: 'inside'}, { type: 'slider'}],
    series: [
        {
            name: '',
            type: 'bar',
            label: {  normal: {show: true,  formatter: "{c}",position: "top", color: 'blue' }},
            itemStyle: { normal: {barBorderRadius: [15, 0, 0, 0]}},
            barGap: 0,
            data: []
        },
        {
            name: '',
            type: 'bar',
            label: {  normal: {show: true,  formatter: "{c}",position: "top", color: 'purple' }},
            itemStyle: { normal: { barBorderRadius: [0, 10, 0, 0]}},
            data: []
        },
        {
            name: '',
            type: 'line',
            label: {  normal: {show: true,  formatter: "{c}",position: "top", color: 'red' }},
            yAxisIndex: 1,
            data: []
        },

    ]   
}


var option_lines = {
    color: ['#4cabce', '#7755aa', '#e5624e'],
    tooltip: { trigger: 'axis', axisPointer: { type: 'shadow' }},
    legend: {
        left: 'right',
        data: []
    },
    calculable: true,
    xAxis: [{
            type: 'category',
            axisTick: {show: false},
            axisLabel: {rotate: 20,},
            data: []
    }],
    yAxis: [ {type: 'value', min: 'dataMin'}, {type: 'value', min: 'dataMin'}  ],
    dataZoom: [{type: 'inside',}, {type: 'slider'}],
    series: [
        {
            name: '',
            type: 'line',
            label: {  normal: {show: true,  formatter: "{c}",position: "top", color: 'blue' }},
            smooth: true,
            itemStyle: { normal: {barBorderRadius: [15, 0, 0, 0]}},
            data: []
        },
        {
            name: '',
            type: 'line',
            label: {  normal: {show: true,  formatter: "{c}",position: "top", color: 'red' }},
            smooth: true,
            data: []
        },
        {
            name: '',
            type: 'line',
            label: {  normal: {show: true,  formatter: "{c}",position: "top", color: 'purple' }},
            smooth: true,
            data: []
        },
        {
            name: '',
            type: 'line',
            label: {  normal: {show: true,  formatter: "{c}",position: "top", color: 'darkgreen' }},
            smooth: true,
            data: []
        },
        

    ]   
}




/////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
//
//  以上兼容旧版
//
//
/////////////////////////////////////////////////////////////////////////////

var rd = rd || {};

rd.chart_option = {
    createNew: function(){
        var p = {};
        p.option = {
            title: {show: false},
            color: ['#4cabce', '#7755aa', '#e5624e', '#f85935'],
            tooltip: { trigger: 'axis', axisPointer: { type: 'shadow' }},
            legend: {
                left: 'center',
                top: 'bottom',
                fontSize: 12,
                data: []
            },
            grid: {
                top: 30,
                left: '10%',
                width: '80%',
            },
            calculable: true,
            xAxis: [{
                    type: 'category',
                    axisTick: {show: false},
                    axisLabel: {fontSize: 12},
                    data: []
            }],
            yAxis: [
                {type: 'value', axisLabel: { fontSize: 12}}, 
                {type: 'value', axisLabel: { fontSize: 12}}, 
                {type: 'value', axisLabel: { fontSize: 12}}
            ],
            dataZoom: [{type: 'inside'}],
            series: []   
        }
        
        // 追加系列add
        // 参数为对像数组，每组对像追加一个系列
        // 参数形式：[{name: 'XXX', type: 'bar'}, {name: 'XXX', type: 'bar'}, {name: 'XXX', type: 'bar'}]
        p.add_series = function(s){
            // 根据传参，确定每个系列的类型，
            // 同时将名称填写到系列中和图例中，保持其一至性。
            // console.log(s)
            for(let i = 0; i < s.length; i++){
                p.option.legend.data.push(s[i].name);
                let b = {name: s[i].name, type: s[i].type, data: []};
                if(s[i].type == 'bar'){
                    b.barMaxWidth = '30px';
                    b.itemStyle = {};
                    b.itemStyle.barBorderRadius = [2,2,0,0];
                }else if(s[i].type == 'line'){
                    // b.smooth = true;
                }else if(s[i].type == 'pie'){
                    
                }
                p.option.series.push(b);
            }
        }
        
        // 将横轴上形如 Y-m 格式的月份标签，仅1月时以及第一个标签增加年显示，其他各月显示月数
        p.month_format = function(){
            let s = {axisLabel: { formatter: function(v, i){
                let d = v.split("-");
                let str = d[1] ;
                if(Number(d[1]) == 1 || i === 0) {
                    str = v;
                }
                return str;
            }}}
            $.extend(true, p.option.xAxis[0], s);
            
        }
        
        // 
        p.date_format = function(){
            
            let s = {axisLabel: { formatter: function(v, i){
                var date = new Date(v);
                var texts = [(date.getMonth() + 1), date.getDate()];
                if (i === 0) {
                    texts.unshift(date.getFullYear());
                }
                return texts.join('/');
            }}}
            $.extend(true, p.option.xAxis[0], s);
            
        }

        // p.setDatas = function(data, xAxisDatasName, seriesDatasName){ 
        //  // data 为源数据
        //  // xAxisDatasName 数组，列出各横轴数据项对应源数据的字段名称
        //  // seriesDatasName 数组，列出各系列数据项对应源数据的字段名称
        //  for(let i in data){
        //      let x = data[i];
        //      for(let j in xAxisDatasName){
        //          let w = xAxisDatasName[j];
        //          p.option.xAxis[j].data.push(x[w]);
        //      }
        //      for(let j in seriesDatasName){
        //          let w = seriesDatasName[j];
        //          p.option.series[j].data.push(x[w]);
        //      }
        //  }

        // }
        
        return p;
    }
}

